#ifndef CPLEXADAPTER_H_
#define CPLEXADAPTER_H_
#include "Graph.h"
#include "Consts.h"
#include <ilcplex/cplex.h>

#define OVER_2(N) ( (N) * ((N)-1) / 2)
#define OVER_3(N) ( (N) * ((N)-1) * ((N)-2) / 6)

int GenerateCPLEXProblem(CPXENVptr*, CPXLPptr*, graph*);
int populateObjective(graph*, int, double*);
int populateSenseAndRHS(int ,char* ,double*);
int populateConstraints(int, int, char*, double*, int*, int *, double*, int*, double*, double*,graph*);
int populateVariableBounds(int, double*, double*);
int populateTypeDefinitionSettings(int, int*, char*);
int getVariableIndexFromVertices(graph*,int,int);
#endif /* CPLEXADAPTER_H_ */
